"""
    [data1,data2,data3 ....]
    列表操作无非增删改查：
"""

"""
元素在list中的位置
    index("xxx",开始索引,结束索引)
    count("xxx") 
    xxx  in list 
    xxx not in list 
追加数据 
    append(单个元素或者列表) 如果是列表，会将列表作为一个元素放到另一个列表中
    extend(序列) 如果是列表， 会将列表作为一个元素放到另一个列表中
    insert(位置下标，数据) 在下标前面插入一个数据
删除元素
    del 列表[index]
    list.pop() # 删除最后一个元素
    remove(元素) # 删除匹配到的第一个元素
    list.clear() # 清空列表
修改，反转，排序,复制
    list6[0] = 11
    list.reverse()
    list7.sort(reverse=True) #reverse 如果是false表示升序，如果是True表示降序
    list.copy()
列表的遍历 ：while for 
嵌套列表的取值： list[][]
"""
print("元素在list中的位置")
list1 = ["one","two","three","four","one"]
print("列表长度："+str(len(list1)))
print(list1[0], list1[1])

# 查找元素在集合中的位置
print(list1.index("four"))
#rint(list1.index("fouraa")) # 找不到就报错
print(list1.index("four", 0, len(list1)))
print(list1.count("one")) # 出现的次数
# 判断一个元素在集合中是否存在
print("one" in list1) #True
print("one22" in list1)  # False
# 判断一个元素在集合中不存在？
print("one" not in list1)
print("one22" not in list1)

"""
追加数据 
    append(单个元素或者列表) 如果是列表，会将列表作为一个元素放到另一个列表中
    extend(序列) 如果是列表， 会将列表作为一个元素放到另一个列表中
    insert(位置下标，数据) 在下标前面插入一个数据
    
"""
print("向list中追加数据")
list2 = []
list2.append("one")
list2.append(12)
list2.append([1,2,3])
print(list2)

list3 = []
list3.extend("one")
list3.extend("two")
#list3.extend(2) ##extend好像没有办法添加int类型的数据
list3.extend([2,3,4])
print(list3) # ['o', 'n', 'e', 't', 'w', 'o', 2, 3, 4]

list4 = ["one","two","three"]
list4.insert(1,'aaaa')
list4.insert(1,'bbbb')
print(list4) #['one', 'bbbb', 'aaaa', 'two', 'three']

"""
删除元素
    del 列表[index]
    list.pop() # 删除最后一个元素
    remove(元素) # 删除匹配到的第一个元素
    list.clear() # 清空列表
"""
print("删除元素")
list5 = ["one","two","three","four","five"]
del list5[1]
print(list5)
list5.pop()
print(list5)
#list5.remove("five") # 如果元素不存在就报错
list5.remove("one")
print(list5)
list5.clear()
print(list5)

"""
修改，反转，排序,复制
    list6[0] = 11
    list.reverse()
    list7.sort(reverse=True) #reverse 如果是false表示升序，如果是True表示降序
    list.copy()
"""
print("修改，反转，排序")
list6 = [1,4,3,5,2,0,"a","b","d","c"]
# 修改指定下标的数据
list6[0] = 11
list6[4] = 4.2
print(list6)
list6.reverse()
print(list6)

list7 = [2,3,45,1,7,8,10,9]
list7.sort(reverse=True) #reverse 如果是false表示升序，如果是True表示降序
print(list7)

"""
列表的遍历
"""
print("""
列表的遍历
""")
list8 = [1,22,31,14,41,45,11]
i = 0
while i < len(list8):
    print(list8[i],end=",")
    i+=1
print("\n")

for ele in list8:
    print(ele,end=",")

# 列表嵌套
print("列表嵌套\n")
doublelist = [[1,2,3,4],
              ["a","b","c","d"],
              ["one","two","three","four"]]
for j in doublelist:
    i = 0
    while i < len(j):
        print(j[i],end=",")
        i+=1
    print("\n")

# 取出嵌套列表中的某个值
print(doublelist[0][0])









